package com.project.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.project.bean.ColorVo;
import com.project.bean.ProductBean;
import com.project.bean.ProductESBean;
import com.project.bean.SizeVo;
import com.project.vo.ImgPriceVo;

import java.util.List;

public interface IProductService {
      /**
       * 按类型查找普通商品
       * @param type
       * @return
       */
      
      public List<ProductBean> findPTByType(String type);
      
      /**
       * 按类型查找普通商品
       * @param type
       * @return
       */
      public List<ProductBean> findCXByType(String type);
      
      /**
       * 按类型查找抢先商品
       * @param type
       * @return
       */
      public List<ProductBean> findQXByType(String type);
      
      /**
       * 查询所有商品类型（不重复）
       * @return
       */
      public List<String> findAllType();
      
      /**
       * 关键字搜索
       * @param ms
       * @return
       */
      public List<ProductESBean> keyWord(String ms);
      
      /**
       * 查询商品详细信息
       * @param ProductNum
       * @return
       */
      
      public ProductBean findProductInfo(String ProductNum);
      
      /**
       * 通过名字查找商品大小
       * @param productName
       * @return
       */
      public List<SizeVo> findSizeByProductName(String productName);
      
      /**
       * 按名字查找商品颜色
       * @param productName
       * @param productSize
       * @return
       */
      public List<ColorVo> findColorByNameSize(String productName, String productSize);
      
      /**
       * 按名字查找商品图片
       * @param productName
       * @param productSize
       * @param productColor
       * @return
       */
      public ImgPriceVo findImgByNameSizeColor(String productName, String productSize, String productColor);
      
      /**
       * 添加商品
       * @param pros
       */
      public void addPro(List<ProductBean> pros);
      
      /**
       * 修改商品上下架状态
       * @param proNum
       */
      public void updateProductStatus(String proNum,int status,double price);
      
      /**
       * 查询所有美化商品
       * @return
       */
      public IPage<ProductBean> findByBeautify(Integer pageNO,String productNum);
      
     public ProductBean findByNameAndColorAndSize(String name,String color,String size);
      public ProductBean findByNameAndColorAndSize2(String name,String color,String size);
     
     //后端需要的接口
      
      /**
       * 修改上下架状态
       * @param productStatus
       * @param productNum
       */
     public void updateProductStatus(int productStatus,String productNum);
      
      /**
       * 美化用
       * @param productNum
       * @return
       */
     public ProductBean findById(String productNum);
     
      
}
